package xmlexample;

/*
 * PiattaformaScolastica.java
 *
 * Created on 18 aprile 2004, 19.41
 */
import net.ermannofranco.xml.*;

/**
 *
 * @author  ermanno
 */
public class PiattaformaScolastica {
  private final Doc doc;

  public PiattaformaScolastica() {

    Tag corso;
    Tag lev1;

    (doc= new Doc("scuola"))
    .addCanonicNS()
    .setNoNSSchemaLocation("PiattaformaScolastica_schema.xsd")
    .setStylesheetRef("PiattaformaScolastica_stile.xsl")
    .setComment("La scuola comprende corsi, docenti, programmi...")
    ;

    (corso=doc.addTag("corso"))
    .addAttribute("codice","B02")
    .addAttribute("nomeComune","Geometria Algebrica")
    .addAttribute("durata","annuale")
    .addAttribute("esame","orale/scritto")
    .addAttribute("livello","avanzato")
    .setComment("Corso di Geometria Algebrica")
    ;
    corso.addTag("descrizione")
    .addTextBlock("Il corso comprende due parti distinte: lo studio della teoria delle curve astratte e "+
    "lo studio della formulazione riemanniana del calcolo tensoriale su ipersuperfici")
    .setComment("descrizione di un corso")
    ;
    corso.addTag("obiettivi")
    .addTextBlock("Preparare lo studente allo studio delle meccaniche quantistiche relativistiche e non");
    corso.addTag("background")
    .addTextBlock("Conoscenza della Geometria differenziale, Topologia 1 e 2");
    corso.addTag("periodo_esami")
    .addTextBlock("Febbraio,Luglio,Ottobre");

    (lev1=corso.addTag("anno")).addAttribute("idAnno","2004").addAttribute("attivo","true").addAttribute("iscritti","4");
    lev1.addTag("docente").setComment("Conte");
    lev1.addTag("costo").addTextBlock("400");

    (lev1=corso.addTag("anno")).addAttribute("idAnno","2003").addAttribute("attivo","false").addAttribute("iscritti","5");
    lev1.addTag("docente").addAttribute("nome","Galletto").addTag("dettaglio_docente").addTextBlock("Ultimo anno, poi va in pensione.");
    lev1.addTag("costo").addTextBlock("390");
    (lev1=corso.addTag("anno")).addAttribute("idAnno","2002").addAttribute("attivo","false").addAttribute("iscritti","2");
    lev1.addTag("docente").addAttribute("nome","Gallo");
    lev1.addTag("costo").addAttribute("valuta","euro").addTextBlock("370");
    (lev1=corso.addTag("anno")).addAttribute("idAnno","2001").addAttribute("attivo","false").addAttribute("iscritti","11");
    lev1.addTag("docente").addAttribute("nome","Gallo").addTag("dettaglio_docente").addTag("geografico").addAttribute("email","galletto@galletto.it").addAttribute("tel","0111111").addTextBlock("Via Carlo Alberto 234");
    lev1.addTag("costo").addAttribute("valuta","lire").addTextBlock("700000");

    (corso=doc.addTag("corso"))
    .addAttribute("codice","A01")
    .addAttribute("nomeComune","Algebra")
    .addAttribute("durata","semestrale")
    .addAttribute("esame","orale")
    .addAttribute("livello","base")
    .setComment("Corso di Algebra")
    ;
    corso.addTag("descrizione")
    .addTextBlock("Il corso comprende tre parti distinte: lo studio della teoria degli Insiemi fino alla formalizzazione Zermelo-Fraenkel, "+
    "lo studio dell'algebra booleana e l'introduzione al concetto di spazio topologico")
    .setComment("descrizione di un corso")
    ;
    corso.addTag("obiettivi")
    .addTextBlock("Preparare lo studente allo studio degli ambienti geometrici astratti");
    corso.addTag("background")
    .addTextBlock("Conoscenza della logica classica, fondamenti di teoria degli insiemi");
    corso.addTag("periodo_esami")
    .addTextBlock("Febbraio,Aprile,Luglio,Ottobre");

    (lev1=corso.addTag("anno")).addAttribute("idAnno","2004").addAttribute("attivo","true").addAttribute("iscritti","34");
    lev1.addTag("docente").setComment("docente da assegnare");
    lev1.addTag("costo").addTextBlock("230");

    (lev1=corso.addTag("anno")).addAttribute("idAnno","2003").addAttribute("attivo","false").addAttribute("iscritti","45");
    lev1.addTag("docente").addAttribute("nome","Gallo").addTag("dettaglio_docente").addTextBlock("Ultimo anno, poi va in pensione.");
    lev1.addTag("docente").addAttribute("nome","Pavone Giacomo").addTag("dettaglio_docente").addTag("geografico").addAttribute("email","pavon_rr@pavon.it").addAttribute("tel","01-8765-78").addTextBlock("Via Alberto 550").setComment("Assistente a contratto");
    lev1.addTag("costo").addTextBlock("220");
    (lev1=corso.addTag("anno")).addAttribute("idAnno","2002").addAttribute("attivo","false").addAttribute("iscritti","32");
    lev1.addTag("docente").addAttribute("nome","Gallo");
    lev1.addTag("costo").addAttribute("valuta","euro").addTextBlock("210");
    (lev1=corso.addTag("anno")).addAttribute("idAnno","2001").addAttribute("attivo","false").addAttribute("iscritti","71");
    lev1.addTag("docente").addAttribute("nome","Gallo").addTag("dettaglio_docente").addTag("geografico").addAttribute("email","1aaa.rr@gallo.it").addAttribute("tel","012345678").addTextBlock("Via Carlo Alberto 10");
    lev1.addTag("costo").addAttribute("valuta","lire").addTextBlock("400000");

    //lo stampa e lo salva in un file con lo stesso nome della classe
    //a video arriva un messaggio di conferma
    
//    doc.save("../generati/"+getClass().getSimpleName());
  }
  public String toString()  {
    return doc.toString();
  }
}
